﻿namespace MicroCloud.Identity.Entities
{
    /// <summary>
    /// 实体类：角色信息
    /// </summary>
    [Description("角色信息")]
    [ValueGenerate(ValueGenerateRule.Never, ValueGenerateMode.Snowflake)]
    [Table(nameof(Role), Schema = TableSchemaConstants.Identity)]
    public class Role : RoleBase<long, long>
    {
        #region 属性
        // 导航属性
        #region "获取或设置 分配的用户角色信息集合"
        /// <summary>
        /// 获取或设置 分配的用户角色信息集合
        /// </summary>
        public virtual ICollection<UserRole> UserRoles { get; set; } = new List<UserRole>();
        #endregion
        #region "获取或设置 分配的角色组织机构信息信息集合"
        /// <summary>
        /// 获取或设置 分配的角色组织机构信息信息集合
        /// </summary>
        public virtual ICollection<RoleOrganization> RoleOrganizations { get; set; } = new List<RoleOrganization>();
        #endregion
        #region "获取或设置 分配的角色声明信息集合"
        /// <summary>
        /// 获取或设置 分配的角色声明信息集合
        /// </summary>
        public virtual ICollection<RoleClaim> RoleClaims { get; set; } = new List<RoleClaim>();
        #endregion

        #endregion
    }
}